package com.lj.shop.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class AuthConfig implements WebMvcConfigurer{
    
    @Autowired
    AuthInterceptor authInterceptor;

    
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry
         .addInterceptor(authInterceptor)
         .excludePathPatterns("/login", "/**/error", "/**/p_*", "/**/p_*/**", "/code**", "/sys/**")
        .addPathPatterns("/api/**");
    }

    @Override
    public void addCorsMappings(CorsRegistry registry){
        registry.addMapping("/**")
        .allowCredentials(true)
        .allowedMethods(new String[]{"GET","POST","DELETE","PUT","OPTIONS","PATCH"})
        .allowedHeaders("*")
        .exposedHeaders("*")
        .allowedOriginPatterns("*");
    }
}
